/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelo;

import java.io.Serializable;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;


public class DatosEmpresa implements Serializable {
    private String nombreEmpresa;
    private String nombreEmpresaNuevo;
    private String direccionEmpresa;
    private String emailEmpresa;
    private String redSocialEmpresa;
    private String telefonoEmpresa;
    private boolean retorno;

    public DatosEmpresa() {
    }

    public boolean isRetorno() {
        return retorno;
    }

    public void setRetorno(boolean retorno) {
        this.retorno = retorno;
    }


    public String getNombreEmpresa() {
        return nombreEmpresa;
    }

    public void setNombreEmpresa(String nombreEmpresa) {
        this.nombreEmpresa = nombreEmpresa;
    }

    public String getDireccionEmpresa() {
        return direccionEmpresa;
    }

    public void setDireccionEmpresa(String direccionEmpresa) {
        this.direccionEmpresa = direccionEmpresa;
    }

    public String getEmailEmpresa() {
        return emailEmpresa;
    }

    public void setEmailEmpresa(String emailEmpresa) {
        this.emailEmpresa = emailEmpresa;
    }

    public String getRedSocialEmpresa() {
        return redSocialEmpresa;
    }

    public void setRedSocialEmpresa(String redSocialEmpresa) {
        this.redSocialEmpresa = redSocialEmpresa;
    }

    public String getTelefonoEmpresa() {
        return telefonoEmpresa;
    }

    public void setTelefonoEmpresa(String telefonoEmpresa) {
        this.telefonoEmpresa = telefonoEmpresa;
    }

    public String getNombreEmpresaNuevo() {
        return nombreEmpresaNuevo;
    }

    public void setNombreEmpresaNuevo(String nombreEmpresaNuevo) {
        this.nombreEmpresaNuevo = nombreEmpresaNuevo;
    }
    
    
    
    
     //registrar
     public static boolean registrarDatosEmpresa (DatosEmpresa a)
    {
        boolean estado = false ;
        Connection conexion=null;
         try{
             conexion=ControladorBD.darConexionBD();
             CallableStatement st=conexion.prepareCall(" {call sp_registrarDatosEmpresa "
                     +"(?,?,?,?,?,?)} ");
             st.setString(1,a.getNombreEmpresa());
             st.setString(2,a.getDireccionEmpresa());
             st.setString(3,a.getEmailEmpresa());
             st.setString(4,a.getRedSocialEmpresa());
             st.setString(5,a.getTelefonoEmpresa());
             st.registerOutParameter(6,java.sql.Types.BOOLEAN);
             st.execute();
             a.setRetorno(st.getBoolean(6));
             if(a.isRetorno()==true)
             {
                 estado=true;
             }
        st.close();
        conexion.close();
             
         } catch(Exception error){
             System.out.println("Error en el metodo por: "+ error.getMessage());
                                 error.printStackTrace();
         }
         
        return estado;  
        
    } 
     
      //actualizar datos de la empresa
     public static boolean actualizarDatosEmpresa (DatosEmpresa a)
    {
        boolean estado = false ;
        Connection conexion=null;
         try{
             conexion=ControladorBD.darConexionBD();
             CallableStatement st=conexion.prepareCall(" {call sp_actualizarDatosEmpresa "
                     +"(?,?,?,?,?,?,?)} ");
             st.setString(1,a.getNombreEmpresa());
             st.setString(2,a.getNombreEmpresaNuevo());
             st.setString(3,a.getDireccionEmpresa());
             st.setString(4,a.getEmailEmpresa());
             st.setString(5,a.getRedSocialEmpresa());
             st.setString(6,a.getTelefonoEmpresa());
             st.registerOutParameter(7,java.sql.Types.BOOLEAN);
             st.execute();
             a.setRetorno(st.getBoolean(7));
             if(a.isRetorno()==true)
             {
                 estado=true;
             }
        st.close();
        conexion.close();
             
         } catch(Exception error){
             System.out.println("Error en el metodo por: "+ error.getMessage());
                                 error.printStackTrace();
         }
         
        return estado;  
        
    } 
     
    //listar los datos de la empresa
     public static ArrayList<DatosEmpresa> getListarDatosEmpresa(){ 
     ArrayList<DatosEmpresa> arreglo = new ArrayList<DatosEmpresa>();
    if (arreglo.size()==0){         
        DatosEmpresa obj=null;
    Connection conexion = null;
    ResultSet rs = null;
    try{
    conexion = ControladorBD.darConexionBD();
    CallableStatement st = conexion.prepareCall
  ( "{call sp_listarDatosEmpresa()}");    
    rs = st.executeQuery();        
    if (rs.next()){          
        do{
        obj =new DatosEmpresa();
        obj.setNombreEmpresa(rs.getString("nombreEmpresa"));
        obj.setDireccionEmpresa(rs.getString("direccionEmpresa"));
        obj.setEmailEmpresa(rs.getString("emailEmpresa"));
        obj.setRedSocialEmpresa(rs.getString("redSocialEmpresa"));
        obj.setTelefonoEmpresa(rs.getString("telefonoEmpresa"));
        arreglo.add(obj);
       } while (rs.next());
    }  
         rs.close();
         st.close();
         conexion.close();

     }catch(Exception error){
        System.out.println("Error en el metodo por: " +
                   error.getMessage());
                error.printStackTrace();
        }    
      }  
    return arreglo;
    }
}
